// JavaScript Document

//OBBLIGATORIE
var ok_titolo = false;
var ok_data_inizio = false;
var ok_data_fine = false;
var ok_riassunto = false;
var ok_descrizione = false;
var ok_foto = false;
var ok_ora_inizio = false;
var ok_ora_fine = false;

//NON OBBLIGATORIE
//var ok_foto = true;


function control_form_creazione_evento()
{
	control_titolo_evento();
	control_data_inizio_evento();
	control_ora_inizio_evento();
	control_data_fine_evento();
	control_riassunto_evento();
	control_descrizione_evento();
	control_foto_evento();
	//return true;
	return control_finale();
}

//controllo finale
function control_finale()
{
	if (ok_titolo && ok_data_inizio && ok_data_fine && ok_riassunto && ok_descrizione && ok_foto)
	{
		return true;
	}
	return false;
}

//controllo titolo
function control_titolo_evento()
{
	var valTitolo = document.getElementById('textTitoloEvento1').value;
	//tolgo gli spazi all'inizio e alla fine
	valTitolo = trim(valTitolo);
	//prima lettera maiuscola, le altre minuscole
	valTitolo = ucFirstlcResto(valTitolo);
	//controllo espressioni regolari
	var myRegex = /^[A-Z][a-zA-Z]+$/;
	if (!myRegex.test(valTitolo))
	{
		document.getElementById('textTitoloEvento1').style.backgroundColor = "#F00";
		document.getElementById('labelErrTitoloEvento1').innerHTML = "Il titolo non &#232; valido";
		ok_titolo = false;
	}
	else
	{
		document.getElementById('textTitoloEvento1').style.backgroundColor = "#0C0";
		document.getElementById('labelErrTitoloEvento1').innerHTML = "";
		ok_titolo = true;	
	}	
}


//controllo data inizio
function control_data_inizio_evento()
{
	var data_inizio=document.getElementById('textDataInizio1').value;//inputDate.value; //Data inserita
	var espressione = /^[0-9]{2}\-[0-9]{2}\-[0-9]{4}$/;
	var array_data_inizio = data_inizio.split("-");
	var data_inizio_inserita = new Date(parseInt(array_data_inizio[2]),parseInt(array_data_inizio[1])-1,parseInt(array_data_inizio[0]));//il mese va da 0 a 11 quindi 
	var data_odierna = new Date();
	//usare il getTime per confrontarle(il get time prende i millisecondi dal 1970)
	var millisec_data_inizio_inserita = data_inizio_inserita.getTime();
	var millisec_data_odierna = data_odierna.getTime();
	if (!espressione.test(data_inizio))
	{
		document.getElementById('labelErrDataInizio1').innerHTML="La data non ha il formato corretto!";
		ok_data_inizio=false;

	}
	else if(parseInt(millisec_data_inizio_inserita)<parseInt(millisec_data_odierna))
	{
		document.getElementById('labelErrDataInizio1').innerHTML="La data non può essere antecedente ad oggi!";
		ok_data_inizio=false;
	}
	else
	{
		document.getElementById('labelErrDataInizio1').innerHTML="Data corretta";
		ok_data_inizio=true;
	}
}

//controllo ora inizio
function control_ora_inizio_evento()
{
	var ora_inizio = document.getElementById('textOraInizio1').value;	
	var espressione = /^[0-9]{2}\:[0-9]{2}\:[0-9]{2}$/
	if(!espressione.test(ora_inizio))
	{
		document.getElementById('labelErrOraInizio1').innerHTML="Formato ora non corretto!";
		ok_ora_inizio = false;
	}
	else
	{
		document.getElementById('labelErrOraInizio1').innerHTML="Formato ora corretto!";
		ok_ora_inizio = true;
	}
}

//controllo ora fine
function control_ora_fine_evento()
{
	var ora_fine = document.getElementById('textOraFine1').value;	
	var espressione = /^[0-9]{2}\:[0-9]{2}\:[0-9]{2}$/
	if(!espressione.test(ora_inizio))
	{
		document.getElementById('labelErrOraFine1').innerHTML="Formato ora non corretto!";
		ok_ora_fine = false;
	}
	else
	{
		document.getElementById('labelErrOraFine1').innerHTML="Formato ora corretto!";
		ok_ora_inizio = true;
	}
	//confronto ora fine con ora inizio
	//se sono lo stesso giorno, ora fine è dopo ora inizio
	var ora_inizio = document.getElementById('textOraInizio1').value;
	var array_ora_inizio = ora_inizio.split(":");
	var array_ora_fine = ora_fine.split(":");
	if(array_ora_fine[0]<array_ora_inizio[0])
	{
		alert('errore orario---ORE');
	}
	else if(array_ora_fine[0]==array_ora_inizio[0])
	{
		if(array_ora_fine[1]<array_ora_inizio[1])
		{
			alert('errore orario---MINUTI');
		}
		else if(array_ora_fine[1]==array_ora_inizio[1])
		{
			if(array_ora_fine[2]<array_ora_inizio[2])
			{
				alert('errore orario---SECONDI');
			}
			else
			{
				alert ('Orario OK!!');	
			}
		}
		else
		{
			alert ('Orario OK!!');	
		}
	}
	else
	{
		alert('Orario OK!!');
	}
}


//controllo data fine
function control_data_fine_evento()
{
	var data_fine=document.getElementById('textDataFine1').value;//inputDate.value; //Data inserita
	var espressione = /^[0-9]{2}\-[0-9]{2}\-[0-9]{4}$/;
	var array_data_fine = data_fine.split("-");
	var data_fine_inserita = new Date(parseInt(array_data_fine[2]),parseInt(array_data_fine[1])-1,parseInt(array_data_fine[0]));//il mese va da 0 a 11 quindi 
	var data_odierna = new Date();
	//usare il getTime per confrontarle(il get time prende i millisecondi dal 1970)
	var millisec_data_fine_inserita = data_fine_inserita.getTime();
	var millisec_data_odierna = data_odierna.getTime();
	if (!espressione.test(data_fine))
	{
		document.getElementById('labelErrDataFine1').innerHTML="La data non ha il formato corretto!";
		ok_data_fine=false;

	}
	else if(parseInt(millisec_data_fine_inserita)<parseInt(millisec_data_odierna))
	{
		document.getElementById('labelErrDataFine1').innerHTML="La data non può essere antecedente ad oggi!";
		ok_data_fine=false;
	}
	else
	{
		document.getElementById('labelErrDataFine1').innerHTML="Data corretta";
		ok_data_fine=true;
	}
	//verifico con data inizio
	if(ok_data_inizio && ok_data_fine)
	{
		var data_inizio=document.getElementById('textDataInizio1').value;//inputDate.value; //Data inserita
		var espressione = /^[0-9]{2}\-[0-9]{2}\-[0-9]{4}$/;
		var array_data_inizio = data_inizio.split("-");
		var data_inizio_inserita = new Date(parseInt(array_data_inizio[2]),parseInt(array_data_inizio[1])-1,parseInt(array_data_inizio[0]));//il mese va da 0 a 11 quindi
		var millisec_data_inizio_inserita = data_inizio_inserita.getTime()
		if(parseInt(millisec_data_fine_inserita)<parseInt(millisec_data_inizio_inserita))
		{
				document.getElementById('labelErrDataFine1').innerHTML="La data non può essere antecedente alla data di inizio dell'evento!";
				ok_data_fine=false;
		}
		else
		{
				document.getElementById('labelErrDataFine1').innerHTML="Data corretta";
				ok_data_fine=true;
		}
	}
	
}


//controllo riassunto
function control_riassunto_evento()
{
	ok_riassunto = true;
	document.getElementById('labelErrRiassuntoEvento1').innerHTML="Riassunto corretto";
}

//controllo descrizione
function control_descrizione_evento()
{
	ok_descrizione = true;
	document.getElementById('labelErrDescrizioneEvento1').innerHTML="Descrizione corretta";
}

//controllo foto
function control_foto_evento()
{
	var img = document.getElementById('inputFileFotoEvento1').value;
	if(preload_img(img))
	{
		ok_foto = true;
		document.getElementById('labelErrFotoEvento1').innerHTML="Immagine corretta";
	}
	else
	{
		ok_foto = false;
		document.getElementById('labelErrFotoEvento1').innerHTML="Immagine non corretta";
	}	
}

//Controlla tipo FILE IMMAGINE 
function preload_img(fil) 
{// controllo il tipo di file
	ext = fil.substr(fil.lastIndexOf("."))+".";
	perm = ".gif.jpg.jpeg.png.";
	if(perm.indexOf(ext.toLowerCase())<0) //non è obbligatoria, altrimenti <=0
		return false;
	return true;
}
//funzione trim
//Elimina spazi prima e dopo - come omonimo in PHP
function trim(str) 
{
  return str.replace(/^\s*([\s\S]*?)\s*$/,"$1");
}

//prima lettera maiuscola - resto minuscolo
function ucFirstlcResto(string)
{
	return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
}